package com.wmeimob.fastboot.jiubei.service;


import com.wmeimob.fastboot.core.service.CommonService;
import com.wmeimob.fastboot.jiubei.dto.GoodsDTO;
import com.wmeimob.fastboot.jiubei.dto.GoodsStockChangeResponseDTO;
import com.wmeimob.fastboot.jiubei.dto.SetUpShopGoodsDTO;
import com.wmeimob.fastboot.jiubei.entity.ShopGoods;

import java.util.List;

/**
 * @ClassName ShopGoodsService
 * @Description 商品
 * @author wjt
 * @Date Fri Aug 28 00:08:28 CST 2020
 * @version 1.0
 **/
public interface ShopGoodsService extends CommonService<ShopGoods>{

    /**
     * 商品查询
     * @param id
     * @return
     */
    default ShopGoods queryShopGoodsById(Object id){throw new UnsupportedOperationException();};

    /**
     * 商品添加
     * @param  shopGoods
     * @return
     */
    default  void addShopGoods(ShopGoods shopGoods){throw new UnsupportedOperationException();};


    /**
     * 商品删除
     * @param id
     * @return
     */
    default void removeShopGoods(Object id){throw new UnsupportedOperationException();};


    /**
     * 商品修改
     * @param shopGoods
     * @return
     */
    default void modifyShopGoods(ShopGoods shopGoods){throw new UnsupportedOperationException();};

    /**
     * 设置积分比例
     *
     * @param setUpShopGoods
     */
    default void setUpProportion(SetUpShopGoodsDTO setUpShopGoods){throw new UnsupportedOperationException();}

    /**
     * 根据条件查找
     * @param goods
     * @return
     */
    default List<ShopGoods> findByIdList(ShopGoods goods){throw new UnsupportedOperationException();}


    /**
     * 扣减库存
     * @param goodsDtoList
     * @return
     */
    default List<GoodsStockChangeResponseDTO> inventoryReduction(List<GoodsDTO> goodsDtoList){throw new UnsupportedOperationException();}

    /**
     * 增加商品销量
     *
     * @param goodsDtos
     */
   default void incrementSales(List<GoodsDTO> goodsDtos){throw new UnsupportedOperationException();}
}
